#pragma once
#include "core_interface.h"
#include <memory>

namespace lib_wrapper {
class LogManager {
public:
    static LogManager& instance();
    void set_logger(std::shared_ptr<ILogger> logger);
    [[nodiscard]] std::shared_ptr<ILogger> get_logger() const;

private:
    LogManager() = default;
    std::shared_ptr<ILogger> logger_;
};

void set_logger(std::shared_ptr<ILogger> logger);
} // namespace lib_wrapper
